;------------------------------------------- ; vbxe.h ;------------------------------------------- ;------------------------------------------- ; zero page base address for easy and fast access VBXE_CURRENT_BANK equ $A2 ; 1 byte VBXE_MEM_ADDR equ $A3 ; 3 bytes ;------------------------------------------- ; D600/D700 VBXE_D600 equ $D600 ;------------------------------------------- ;------------------------------------------- ; MEMAC-A window address VBXE_MEMC_WINDOW equ $9000 ;------------------------------------------- ;------------------------------------------- ; VBXE main registers ; some of the registeres can be r/w VIDEO_CONTROL = $40 ; write CORE_VERSION = $40 ; read XDL_ADR0 = $41 ; write MINOR_VERSION = $41 ; read VBXE_XDL_ADR1 equ $42 ; write VBXE_XDL_ADR2 equ $43 ; write VBXE_CSEL equ $44 ; write VBXE_PSEL equ $45 ; write VBXE_CR equ $46 ; write VBXE_CG equ $47 ; write VBXE_CB equ $48 ; write VBXE_COLMASK equ $49 ; write VBXE_COLCLR equ $4A ; write VBXE_COLDETECT equ $4A ; read ; 4B-4F skipped, no use VBXE_BL_ADR0 equ $50 ; write VBXE_BLT_COLLISION_CODE equ $50 ; read VBXE_BL_ADR1 equ $51 ; write VBXE_BL_ADR2 equ $52 ; write VBXE_BLITTER_START equ $53 ; write VBXE_BLITTER_BUSY equ $53 ; read VBXE_IRQ_CONTROL equ $54 ; write VBXE_IRQ_STATUS equ $54 ; read VBXE_P0 equ $55 ; write VBXE_P1 equ $56 ; write VBXE_P2 equ $57 ; write VBXE_P3 equ $58 ; write ; 59-5C skipped, no use VBXE_MEMAC_B_CONTROL equ $5D ; write VBXE_MEMAC_CTRL equ $5E ; write & read VBXE_MEM_BANK_SEL equ $5F ; write & read ;----------------------------------------- ;----------------------------------------- ; Video Control attributes VBXE_VIDEO_CONTROL_XDL_DISABLED equ %00000000 VBXE_VIDEO_CONTROL_XDL_ENABLED equ %00000001 VBXE_VIDEO_CONTROL_16_SHADES_ENABLED equ %00000010 VBXE_VIDEO_CONTROL_DISABLE_OVERLAY_TRASPARENCY equ %00000100 VBXE_VIDEO_CONTROL_ADD_ADDITINAL_TRANSPARENCY equ %00001000 ;----------------------------------------- ;----------------------------------------- ; MEMAC attributes MEMC_SIZE_4K equ %00000000 ; 4k size MEMC_SIZE_8K equ %00000001 ; 8k size MEMC_SIZE_16K equ %00000010 ; 16k size MEMC_SIZE_32K equ %00000011 ; 32k size MEMC_ANTIC_ENABLE equ %00000100 ; ANTIC window access MEMC_CPU_ENABLE equ %00001000 ; CPU window access ;----------------------------------------- ;----------------------------------------- ; MEMS (MEMAC BANK SELECTION) MEMAC_GLOBAL_ENABLE equ %10000000 ; enable the MEMAC window ;----------------------------------------- ;----------------------------------------- ; XDLC controls definition ; first byte XDLC_TMON equ %00000001 ; Overlay text mode XDLC_GMON equ %00000010 ; Overlay graphics mode XDLC_OVOFF equ %00000100 ; disable overlay   XDLC_MAPON equ %00001000 ; enable color attributes XDLC_MAPOFF equ %00010000 ; disavble color attributes XDLC_RPTL equ %00100000 ; repeat for the next x scanlines XDLC_OVADR equ %01000000 ; set the address of the Overlay display memory (screen memory) and the step of the overlay display (how many pixels per line)  XDLC_OVSCRL equ %10000000 ; set scrolling values for the text mode ; second byte XDLC_CHBASE equ %00000001 ; sets the font (text mode) XDLC_MAPADR equ %00000010 ; sets the address and step of the colour attribute map XDLC_MAPPAR equ %00000100 ; sets the scrolling values, width and height of a field in the colour attribute map XDLC_ATT equ %00001000 ; sets the display size(Narrow=256 pixels, Normal=320 pixels, Wide = 336 pixels) the Overlay priority to the ANTIC display and the Overlay color modification XDLC_HR equ %00010000 ; enables the high resolution mode, works only with graphics mode, 640 pixels with 16 colors supported XDLC_LR equ %00100000 ; enables the low resolution mode, works only with graphics mode, 160 pixels with 256 colors supported ; bit 6 in second byte is not in use (reserved) XDLC_END equ %10000000 ; ends the XDL and wait for VSYNC to occur ;----------------------------------------- ; XDLC XDLC_ATT first byte attributes ; OV_WIDTH XDLC_ATT_OV_WIDTH_NARROW equ %00000000 ; bit 0,1=00(256 pixels) XDLC_ATT_OV_WIDTH_NORMAL equ %00000001 ; bit 0,1=01(320 pixels) XDLC_ATT_OV_WIDTH_WIDE equ %00000010 ; bit 0,1=10(336 pixels) ; XDL OV PALETTE XDLC_ATT_OV_PALETTE_00 equ %00000000 ; bit 4,5=00 XDLC_ATT_OV_PALETTE_01 equ %00010000 ; bit 4,5=01 XDLC_ATT_OV_PALETTE_10 equ %00100000 ; bit 4,5=10 XDLC_ATT_OV_PALETTE_11 equ %00110000 ; bit 4,5=11 ; XDL PF PALETTE XDLC_ATT_PF_PALETTE_00 equ %00000000 ; bit 6,7=00 XDLC_ATT_PF_PALETTE_01 equ %01000000 ; bit 6,7=01 XDLC_ATT_PF_PALETTE_10 equ %10000000 ; bit 6,7=10 XDLC_ATT_PF_PALETTE_11 equ %11000000 ; bit 6,7=11 ;----------------------------------------- ; XDLC XDLC_ATT second byte attributes ; MAIN_PRIORITY XDLC_ATT_MAIN_PRIORITY_OVERLAY_PM0 equ %00000001 XDLC_ATT_MAIN_PRIORITY_OVERLAY_PM1 equ %00000010 XDLC_ATT_MAIN_PRIORITY_OVERLAY_PM2 equ %00000100 XDLC_ATT_MAIN_PRIORITY_OVERLAY_PM3 equ %00001000 XDLC_ATT_MAIN_PRIORITY_OVERLAY_PF0 equ %00010000 XDLC_ATT_MAIN_PRIORITY_OVERLAY_PF1 equ %00100000 XDLC_ATT_MAIN_PRIORITY_OVERLAY_PF2_PF3 equ %01000000 XDLC_ATT_MAIN_PRIORITY_OVERLAY_COLBK equ %10000000 XDLC_ATT_MAIN_PRIORITY_OVERLAY_ALL equ %11111111 ;----------------------------------------- ;----------------------------------------- ; sprite sheet definitions SPRITE_WIDTH equ 28;16 SPRITE_HEIGHT equ 81;21 ;-----------------------------------------